package Presentacion;

import java.awt.EventQueue;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JSpinner;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JButton;




import Dominio.AgenteCita;
import Dominio.Cita;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class valorarCita {

	private JFrame frmConcertarCita;
	private JTextField textField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					valorarCita window = new valorarCita();
					window.frmConcertarCita.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public valorarCita() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frmConcertarCita = new JFrame();
		frmConcertarCita.setTitle("Valorar Cita");
		frmConcertarCita.setBounds(100, 100, 450, 300);
		frmConcertarCita.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frmConcertarCita.getContentPane().setLayout(null);
		
		JLabel lblPedirCitaA = new JLabel("Cita con:");
		lblPedirCitaA.setBounds(59, 44, 69, 14);
		frmConcertarCita.getContentPane().add(lblPedirCitaA);
		
		final JComboBox comboBox = new JComboBox();
		comboBox.setBounds(154, 41, 250, 20);
		frmConcertarCita.getContentPane().add(comboBox);
		
		JButton btnPedirCita = new JButton("Pedir Cita");
		
		
		btnPedirCita.setBounds(190, 228, 103, 23);
		frmConcertarCita.getContentPane().add(btnPedirCita);
		
		JLabel lblPuntaLaCita = new JLabel("Puntúa la cita (de 1 a 5):");
		lblPuntaLaCita.setBounds(10, 105, 140, 14);
		frmConcertarCita.getContentPane().add(lblPuntaLaCita);
		
		textField = new JTextField();
		textField.setBounds(154, 102, 39, 20);
		frmConcertarCita.getContentPane().add(textField);
		textField.setColumns(10);
		
		final AgenteCita agentcit= new AgenteCita();
		final ArrayList<Cita> listaCita= agentcit.consultaCitas(MenuPrincipal.DNI);
		
		for(int i=0; i < listaCita.size() ; i++){
			if(!listaCita.get(i).getUsuarioPide().getDNI().equals(MenuPrincipal.DNI))
				comboBox.addItem(listaCita.get(i).getUsuarioPide().getNombre());
			else
				comboBox.addItem(listaCita.get(i).getUsuarioRecibe().getNombre());
		}
		
		btnPedirCita.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				int valoracion= Integer.parseInt(textField.getText());
				Cita cita= null;
				if (comboBox.getSelectedIndex() != -1){
					if (valoracion >= 1 && valoracion <= 5){
						for(int i=0; i < listaCita.size() ; i++){
							if(!listaCita.get(i).getUsuarioPide().getNombre().equals(comboBox.getSelectedItem()))
								cita= listaCita.get(i);
							if(!listaCita.get(i).getUsuarioRecibe().getNombre().equals(comboBox.getSelectedItem()))
								cita= listaCita.get(i);
						}
						
						boolean realizado= agentcit.insertarValoracion(MenuPrincipal.DNI, valoracion, cita);
						
						if (realizado)
			            	JOptionPane.showMessageDialog(null, "Cita Valorada Correctamente");
			            else
			            	JOptionPane.showMessageDialog(null, "Error al Valorar Cita");
			            
						frmConcertarCita.setVisible(false);
					}else{
						JOptionPane.showMessageDialog(null, "La valoracion debe ser entre 1 y 5");
					}
				}else{
					JOptionPane.showMessageDialog(null, "Debe seleccionar una cita");
				}
				
			}
		});
	}
}
